﻿@* --------------------------------------------------------------------------------------------------------------------
// <copyright file="RenderMainJsFile.cshtml" company="Devbridge Group LLC">
// 
// Copyright (C) 2015,2016 Devbridge Group LLC
// 
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// 
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// 
// You should have received a copy of the GNU Lesser General Public License
// along with this program.  If not, see http://www.gnu.org/licenses/. 
// </copyright>
// 
// <summary>
// Better CMS is a publishing focused and developer friendly .NET open source CMS.
// 
// Website: https://www.bettercms.com 
// GitHub: https://github.com/devbridge/bettercms
// Email: info@bettercms.com
// </summary>
// -------------------------------------------------------------------------------------------------------------------- *@
@using BetterCms.Module.Root.Mvc.Helpers
@model BetterCms.Module.Root.ViewModels.Rendering.RenderMainJsViewModel
/* Better CMS
* https://github.com/devbridge/BetterCMS
*/

/*global bettercms.require, bettercms.requirejs, bettercms.define, window */

var console = window.console || {
    log: function() { },
    error: function() { },
    warn: function() { }
};

bettercms.requirejs.config({
    @if (Model.IsDebugMode && !Model.UseMinReferences)
    {
        <text>urlArgs: 'ver=' + '@Model.Version.ToString()',</text>
    }

    paths: {     
         @Model.JavaScriptModules.RenderCommaSeparatedNamePathPairs(Model.UseMinReferences)
    },    

    shim: {
        @Model.JavaScriptModules.RenderCommaSeparatedNameShimConfigPairs()
    },
    
    waitSeconds: 15
});

bettercms.requirejs(['bcms.jquery', 'bcms', 'bcms.processor'],
    
    function ($, bcms, processor) {
        'use strict';
        bcms.logger.info('Initializing Better CMS.');

        $(function () {
            bcms.pageId = $('body').data("pageId");
            bcms.language = $('body').data("language");
            bcms.languageId = $('body').data("language-id");
            bcms.errorTrace = @(Model.IsDebugMode ? "true" : "false");
            processor.init();
            bcms.init();
            @if (Model.IsDebugMode)
            {
                <text>window.bj = $;</text>
            }
    });
});
